package com.marvels.loanapply.customer.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.marvels.common.exception.MarvelsBusinessException;
import com.marvels.loanapply.customer.dto.LoanCustomerParamsDTO;
import com.marvels.loanapply.customer.dto.LoanCustomerResultDTO;
import com.marvels.loanapply.dto.NotBorrowedDto;

public interface LoanCustomerDao {

	/**
	 * 查询贷款用户列表
	 * @param loanCustomerParamsDTO
	 * @return
	 */
	List<LoanCustomerResultDTO> queryLoanCustomerList(LoanCustomerParamsDTO loanCustomerParamsDTO) throws MarvelsBusinessException;
	
	/**
	 * 获取贷款客户详情
	 * @param loanCustomerParamsDTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	LoanCustomerResultDTO getLoanCustomerInfo(LoanCustomerParamsDTO loanCustomerParamsDTO) throws MarvelsBusinessException;
	
	
	List<NotBorrowedDto> selectNotBorrowedList(Map<String,Object> map);
	
	List<NotBorrowedDto> selectVerifyNotBorrowedList(Map<String,Object> map);
	
	/**
	 * 根据userId获取手机号码
	 * @param userId
	 * @return
	 */
	String getMobileByUserId(@Param("userId") String userId);
	
	/**
	 * 修改发送短信次数 + 1
	 * @param userId
	 */
	void updateSendMsgCountByUserId(@Param("userId") String userId);
	
	String getReloanFlagByLoanId(@Param("loanId") String loanId);
	
	void updateAcLoanApplyInfoStatus(@Param("custIdCard") String custIdCard, @Param("days") String days, @Param("status") String status);
	
	void updateMcamLoanApplyInfoStatus(@Param("custIdCard") String custIdCard, @Param("days") String days, @Param("status") String status);
}
